{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 机器学习之线性回归"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1：线性回归的原理\n",
    "2：线性回归损失函数、代价函数、目标函数\n",
    "3：优化方法(梯度下降法、牛顿法、拟牛顿法等)\n",
    "4：线性回归的评估指标\n",
    "5：sklearn参数详解"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1：线性回归的原理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "进入一家房产网，可以看到房价、面积、厅室呈现以下数据：\n",
    "面积(𝑥1)\t厅室数量(𝑥2)\t价格(万元)(y)\n",
    "64\t3\t225\n",
    "59\t3\t185\n",
    "65\t3\t208\n",
    "116\t4\t508\n",
    "……\t……\t……"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以将价格和面积、厅室数量的关系习得为𝑓(𝑥)=𝜃0+𝜃1𝑥1+𝜃2𝑥2，使得𝑓(𝑥)≈𝑦，这就是一个直观的线性回归的样式。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "小练习：这是国内一个房产网站上任意搜的数据，有兴趣可以找个网站观察一下，还可以获得哪些可能影响到房价的因素？可能会如何影响到实际房价呢？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 线性回归的一般形式：\n",
    "有数据集{(𝑥1,𝑦1),(𝑥2,𝑦2),...,(𝑥𝑛,𝑦𝑛)},其中,𝑥𝑖=(𝑥𝑖1;𝑥𝑖2;𝑥𝑖3;...;𝑥𝑖𝑑),𝑦𝑖∈𝑅\n",
    "其中n表示变量的数量，d表示每个变量的维度。\n",
    "可以用以下函数来描述y和x之间的关系："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "f(x) \n",
    "&= \\theta_0 + \\theta_1x_1 + \\theta_2x_2 + ... + \\theta_dx_d  \\\\\n",
    "&= \\sum_{i=0}^{d}\\theta_ix_i \\\\\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "如何来确定𝜃的值，使得𝑓(𝑥)尽可能接近y的值呢？均方误差是回归中常用的性能度量，即："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " \\begin{align*}\n",
    " J(\\theta)=\\frac{1}{2}\\sum_{j=1}^{n}(h_{\\theta}(x^{(i)})-y^{(i)})^2\n",
    " \\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以选择𝜃，试图让均方误差最小化："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 极大似然估计（概率角度的诠释）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面我们用极大似然估计，来解释为什么要用均方误差作为性能度量"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以把目标值和变量写成如下等式："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "y^{(i)} = \\theta^T x^{(i)}+\\epsilon^{(i)}\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "𝜖表示我们未观测到的变量的印象，即随机噪音。我们假定𝜖是独立同分布，服从高斯分布。（根据中心极限定理）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "p(\\epsilon^{(i)}) = \\frac{1}{\\sqrt{2\\pi}\\sigma}exp\\left(-\\frac{(\\epsilon^{(i)})^2}{2\\sigma^2}\\right)\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "因此，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "p(y^{(i)}|x^{(i)};\\theta) = \\frac{1}{\\sqrt{2\\pi}\\sigma}exp\\left(-\\frac{(y^{(i)}-\\theta^T x^{(i)})^2}{2\\sigma^2}\\right)\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们建立极大似然函数，即描述数据遵从当前样本分布的概率分布函数。由于样本的数据集独立同分布，因此可以写成"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "L(\\theta) = p(\\vec y | X;\\theta) = \\prod^n_{i=1}\\frac{1}{\\sqrt{2\\pi}\\sigma}exp\\left(-\\frac{(y^{(i)}-\\theta^T x^{(i)})^2}{2\\sigma^2}\\right)\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "选择𝜃，使得似然函数最大化，这就是极大似然估计的思想。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "为了方便计算，我们计算时通常对对数似然函数求最大值："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "l(\\theta) \n",
    "&= log L(\\theta) = log \\prod^n_{i=1}\\frac{1}{\\sqrt{2\\pi}\\sigma}exp\\left(-\\frac{(y^{(i)}-\\theta^T x^{(i)})^2} {2\\sigma^2}\\right) \\\\\n",
    "& = \\sum^n_{i=1}log\\frac{1}{\\sqrt{2\\pi}\\sigma}exp\\left(-\\frac{(y^{(i)}-\\theta^T x^{(i)})^2}{2\\sigma^2}\\right) \\\\\n",
    "& = nlog\\frac{1}{{\\sqrt{2\\pi}\\sigma}} - \\frac{1}{\\sigma^2} \\cdot \\frac{1}{2}\\sum^n_{i=1}((y^{(i)}-\\theta^T x^{(i)})^2\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "显然，最大化$l(\\theta)$即最小化 $\\frac{1}{2}\\sum^n_{i=1}((y^{(i)}-\\theta^T x^{(i)})^2$。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这一结果即均方误差，因此用这个值作为代价函数来优化模型在统计学的角度是合理的。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2、线性回归损失函数、代价函数、目标函数\n",
    "* 损失函数(Loss Function)：度量单样本预测的错误程度，损失函数值越小，模型就越好。\n",
    "* 代价函数(Cost Function)：度量全部样本集的平均误差。\n",
    "* 目标函数(Object Function)：代价函数和正则化函数，最终要优化的函数。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "常用的损失函数包括：0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等；常用的代价函数包括均方误差、均方根误差、平均绝对误差等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "思考题：既然代价函数已经可以度量样本集的平均误差，为什么还要设定目标函数？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "回答：\n",
    "当模型复杂度增加时，有可能对训练集可以模拟的很好，但是预测测试集的效果不好，出现过拟合现象，这就出现了所谓的“结构化风险”。结构风险最小化即为了防止过拟合而提出来的策略，定义模型复杂度为𝐽(𝐹)，目标函数可表示为："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\\underset{f\\in F}{min}\\, \\frac{1}{n}\\sum^{n}_{i=1}L(y_i,f(x_i))+\\lambda J(F)$$"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "例如有以上6个房价和面积关系的数据点，可以看到，当设定𝑓(𝑥)=∑5𝑗=0𝜃𝑗𝑥𝑗时，可以完美拟合训练集数据，但是，真实情况下房价和面积不可能是这样的关系，出现了过拟合现象。当训练集本身存在噪声时，拟合曲线对未知影响因素的拟合往往不是最好的。 通常，随着模型复杂度的增加，训练误差会减少；但测试误差会先增加后减小。我们的最终目的时试测试误差达到最小，这就是我们为什么需要选取适合的目标函数的原因。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3、线性回归的优化方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.1、梯度下降法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "设定初始参数$\\theta$,不断迭代，使得$J(\\theta)$最小化：\n",
    "$$\\theta_j:=\\theta_j-\\alpha\\frac{\\partial{J(\\theta)}}{\\partial\\theta}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "\\frac{\\partial{J(\\theta)}}{\\partial\\theta} \n",
    "&= \\frac{\\partial}{\\partial\\theta_j}\\frac{1}{2}\\sum_{i=1}^{n}(f_\\theta(x)^{(i)}-y^{(i)})^2 \\\\\n",
    "&= 2*\\frac{1}{2}\\sum_{i=1}^{n}(f_\\theta(x)^{(i)}-y^{(i)})*\\frac{\\partial}{\\partial\\theta_j}(f_\\theta(x)^{(i)}-y^{(i)}) \\\\\n",
    "&= \\sum_{i=1}^{n}(f_\\theta(x)^{(i)}-y^{(i)})*\\frac{\\partial}{\\partial\\theta_j}(\\sum_{j=0}^{d}\\theta_jx_j^{(i)}-y^{(i)}))\\\\\n",
    "&= \\sum_{i=1}^{n}(f_\\theta(x)^{(i)}-y^{(i)})x_j^{(i)} \\\\\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "即："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\theta_j = \\theta_j + \\alpha\\sum_{i=1}^{n}(y^{(i)}-f_\\theta(x)^{(i)})x_j^{(i)}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注：下标j表示第j个参数，上标i表示第i个数据点。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "将所有的参数以向量形式表示，可得："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "$$\n",
    "\\theta = \\theta + \\alpha\\sum_{i=1}^{n}(y^{(i)}-f_\\theta(x)^{(i)})x^{(i)}\n",
    "$$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于这个方法中，参数在每一个数据点上同时进行了移动，因此称为批梯度下降法，对应的，我们可以每一次让参数只针对一个数据点进行移动，即："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\theta = \\theta + \\alpha(y^{(i)}-f_\\theta(x)^{(i)})x^{(i)}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个算法成为随机梯度下降法，随机梯度下降法的好处是，当数据点很多时，运行效率更高；缺点是，因为每次只针对一个样本更新参数，未必找到最快路径达到最优值，甚至有时候会出现参数在最小值附近徘徊而不是立即收敛。但当数据量很大的时候，随机梯度下降法经常优于批梯度下降法。"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAApoAAAIQCAYAAAAhJ85BAAAgAElEQVR4Aey9+XNUV5rnnX/G/DK/zETMTEeMNRFvTMT0TLzR/TI9VePuihm6o6urqquosg0YY2xjeUc22IAxtjBehLEtL1jGgG2MsS1jEJtYxCYWsYhFLGJHLFpSUmpJSSnxeeN7jwSSuEJbppR573MiFEqdvMs5n3MlffM5zxLBmhEwAkbACBgBI2AEjIARSAGBSAquaZc0AkbACBgBI2AEjIARMAKY0LSHwAgYASNgBIyAETACRiAlBExopgSrXdQIGAEjYASMgBEwAkbAhKY9A0bACBgBI2AEjIARMAIpIWBCMyVY7aJGwAgYASNgBIyAETACJjTtGTACRsAIGAEjYASMgBFICQETminBahc1AkbACBgBI2AEjIARMKFpz4ARMAJGwAgYASNgBIxASgiY0EwJVruoETACRsAIGAEjYASMgAlNewaMgBEwAkbACBgBI2AEUkLAhGZKsNpFjYARMAJGwAgYASNgBExo2jNgBIyAETACRsAIGAEjkBICJjRTgtUuagSMgBEwAkbACBgBI2BC054BI2AEjIARMAJGwAgYgZQQMKGZEqx2USNgBIyAETACRsAIGAETmvYMGAEjYASMgBEwAkbACKSEgAnNlGC1ixoBI2AEjIARMAJGwAiY0LRnwAgYASNgBIyAETACRiAlBExopgSrXdQIGAEjYASMgBEwAkbAhKY9A0bACBgBI2AEjIARMAIpIWBCMyVY7aJGwAgYASNgBIyAETACJjTtGTACRsAIGAEjYASMgBFICYFxFZrV5SUUFhZRVNT9VVhIcXn1nYlGK4rJz8sjLzePol79dw6wF0bACBgBI2AEjIARMAJpS2AchWac/AkRIpG+XxPyyjxY0bL87vcmMCHLHZNXcleEpi1RG5gRMAJGwAgYASNgBIyAR2AchWaU3KwIkwrKvYEkEgkS8UT3ssTInxghMiGXKq+n2v2clUe0+wj7ZgSMgBEwAkbACBgBI5DeBMZPaCYqmBCJkFdaRay6iqrqXhIyVua9N7+XBTNWlkckMoHSWHoDtdEZASNgBIyAETACRsAIOALjJzSjTkz22TqfmEtFHIiXM1EitOyuqoyVayt9AiW99KgtohEwAkbACBgBI2AEjED6Ehg3oRmvLPR8MLPzi6mORqko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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当J为凸函数时，梯度下降法相当于让参数$\\theta$不断向J的最小值位置移动"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "梯度下降法的缺陷：如果函数为非凸函数，有可能找到的并非全局最优值，而是局部最优值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2、最小二乘法矩阵求解"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "令<br>\n",
    "$$ X = \\left[ \\begin{array} {cccc}\n",
    "(x^{(1)})^T\\\\\n",
    "(x^{(2)})^T\\\\\n",
    "\\ldots \\\\\n",
    "(x^{(n)})^T\n",
    "\\end{array} \\right] $$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其中，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$x^{(i)} = \\left[ \\begin{array} {cccc}\n",
    "x_1^{(i)}\\\\\n",
    "x_2^{(i)}\\\\\n",
    "\\ldots \\\\\n",
    "x_d^{(i)}\n",
    "\\end{array} \\right]$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$Y = \\left[ \\begin{array} {cccc}\n",
    "y^{(1)}\\\\\n",
    "y^{(2)}\\\\\n",
    "\\ldots \\\\\n",
    "y^{(n)}\n",
    "\\end{array} \\right]$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$h_\\theta(x)$可以写作"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$h_\\theta(x)=X\\theta$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对于向量来说，有"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$z^Tz = \\sum_i z_i^2$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "因此可以把损失函数写作"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$J(\\theta)=\\frac{1}{2}(X\\theta-Y)^T(X\\theta-Y)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "为最小化$J(\\theta)$,对$\\theta$求导可得："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "\\frac{\\partial{J(\\theta)}}{\\partial\\theta} \n",
    "&= \\frac{\\partial}{\\partial\\theta} \\frac{1}{2}(X\\theta-Y)^T(X\\theta-Y) \\\\\n",
    "&= \\frac{1}{2}\\frac{\\partial}{\\partial\\theta} (\\theta^TX^TX\\theta - Y^TX\\theta-\\theta^T X^TY - Y^TY) \\\\\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "中间两项互为转置，由于求得的值是个标量，矩阵与转置相同，因此可以写成"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "\\frac{\\partial{J(\\theta)}}{\\partial\\theta} \n",
    "&= \\frac{1}{2}\\frac{\\partial}{\\partial\\theta} (\\theta^TX^TX\\theta - 2\\theta^T X^TY - Y^TY) \\\\\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "令偏导数等于零，由于最后一项和$\\theta$无关，偏导数为0。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "因此，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\\frac{\\partial{J(\\theta)}}{\\partial\\theta}  = \\frac{1}{2}\\frac{\\partial}{\\partial\\theta} \\theta^TX^TX\\theta - \\frac{\\partial}{\\partial\\theta} \\theta^T X^TY\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "利用矩阵求导性质，<br>  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\frac{\\partial \\vec x^T\\alpha}{\\partial \\vec x} =\\alpha \n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "和\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\\frac{\\partial A^TB}{\\partial \\vec x} = \\frac{\\partial A^T}{\\partial \\vec x}B + \\frac{\\partial B^T}{\\partial \\vec x}A$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{align*}\n",
    "\\frac{\\partial}{\\partial\\theta} \\theta^TX^TX\\theta \n",
    "&= \\frac{\\partial}{\\partial\\theta}{(X\\theta)^TX\\theta}\\\\\n",
    "&= \\frac{\\partial (X\\theta)^T}{\\partial\\theta}X\\theta + \\frac{\\partial (X\\theta)^T}{\\partial\\theta}X\\theta \\\\\n",
    "&= 2X^TX\\theta\n",
    "\\end{align*}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\\frac{\\partial{J(\\theta)}}{\\partial\\theta} = X^TX\\theta - X^TY\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "令导数等于零，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$X^TX\\theta = X^TY$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\\theta = (X^TX)^{(-1)}X^TY\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注：CS229视频中吴恩达的推导利用了矩阵迹的性质，可自行参考学习。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3、牛顿法"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过图例可知(参考吴恩达CS229),"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$f(\\theta)' = \\frac{f(\\theta)}{\\Delta},\\Delta = \\theta_0 - \\theta_1$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$可求得，\\theta_1 = \\theta_0 - \\frac {f(\\theta_0)}{f(\\theta_0)'}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "重复迭代，可以让逼近取到$f(\\theta)$的最小值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当我们对损失函数$l(\\theta)$进行优化的时候，实际上是想要取到$l'(\\theta)$的最小值，因此迭代公式为："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\theta :=\\theta-\\frac{l'(\\theta)}{l''(\\theta)}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "当\\theta是向量值的时候，\\theta :=\\theta - H^{-1}\\Delta_{\\theta}l(\\theta)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其中，$\\Delta_{\\theta}l(\\theta)$是$l(\\theta)$对$\\theta_i$的偏导数，$H$是$J(\\theta)$的海森矩阵，<br>\n",
    "$$H_{ij} = \\frac{\\partial ^2l(\\theta)}{\\partial\\theta_i\\partial\\theta_j}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "问题：请用泰勒展开法推导牛顿法公式。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Answer：将$f(x)$用泰勒公式展开到第二阶，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$f(x) = f(x_0) + f'(x_0)(x - x_0)+\\frac{1}{2}f''(x_0)(x - x_0)^2$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对上式求导，并令导数等于0，求得x值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$f'(x) = f'(x_0) + f''(x_0)x -f''(x_0)x_0 = 0$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以求得，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$x = x_0 - \\frac{f'(x_0)}{f''(x_0)}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "牛顿法的收敛速度非常快，但海森矩阵的计算较为复杂，尤其当参数的维度很多时，会耗费大量计算成本。我们可以用其他矩阵替代海森矩阵，用拟牛顿法进行估计，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.4、拟牛顿法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "拟牛顿法的思路是用一个矩阵替代计算复杂的海森矩阵H，因此要找到符合H性质的矩阵。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "要求得海森矩阵符合的条件，同样对泰勒公式求导$f'(x) = f'(x_0) + f''(x_0)x -f''(x_0)x_0$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "令$x = x_1$，即迭代后的值，代入可得："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$f'(x_1) = f'(x_0) + f''(x_0)x_1 - f''(x_0)x_0$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "更一般的，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$f'(x_{k+1}) = f'(x_k) + f''(x_k)x_{k+1} - f''(x_k)x_k$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$f'(x_{k+1}) - f'(x_k)  = f''(x_k)(x_{k+1}- x_k)= H(x_{k+1}- x_k)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$x_k$为第k个迭代值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "即找到矩阵G，使得它符合上式。\n",
    "常用的拟牛顿法的算法包括DFP，BFGS等，作为选学内容，有兴趣者可自行查询材料学习。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4、线性回归的评价指标"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "均方误差(MSE):$\\frac{1}{m}\\sum^{m}_{i=1}(y^{(i)} - \\hat y^{(i)})^2$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "均方根误差(RMSE)：$\\sqrt{MSE} = \\sqrt{\\frac{1}{m}\\sum^{m}_{i=1}(y^{(i)} - \\hat y^{(i)})^2}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "平均绝对误差(MAE)：$\\frac{1}{m}\\sum^{m}_{i=1} | (y^{(i)} - \\hat y^{(i)} | $"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "但以上评价指标都无法消除量纲不一致而导致的误差值差别大的问题，最常用的指标是$R^2$,可以避免量纲不一致问题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$R^2: = 1-\\frac{\\sum^{m}_{i=1}(y^{(i)} - \\hat y^{(i)})^2}{\\sum^{m}_{i=1}(\\bar y - \\hat y^{(i)})^2} =1-\\frac{\\frac{1}{m}\\sum^{m}_{i=1}(y^{(i)} - \\hat y^{(i)})^2}{\\frac{1}{m}\\sum^{m}_{i=1}(\\bar y - \\hat y^{(i)})^2} = 1-\\frac{MSE}{VAR}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以把$R^2$理解为，回归模型可以成功解释的数据方差部分在数据固有方差中所占的比例，$R^2$越接近1，表示可解释力度越大，模型拟合的效果越好。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5、sklearn.linear_model参数详解："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "fit_intercept : 默认为True,是否计算该模型的截距。如果使用中心化的数据，可以考虑设置为False,不考虑截距。注意这里是考虑，一般还是要考虑截距\n",
    "\n",
    "normalize: 默认为false. 当fit_intercept设置为false的时候，这个参数会被自动忽略。如果为True,回归器会标准化输入参数：减去平均值，并且除以相应的二范数。当然啦，在这里还是建议将标准化的工作放在训练模型之前。通过设置sklearn.preprocessing.StandardScaler来实现，而在此处设置为false\n",
    "\n",
    "copy_X : 默认为True, 否则X会被改写\n",
    "\n",
    "n_jobs: int 默认为1. 当-1时默认使用全部CPUs ??(这个参数有待尝试)\n",
    "\n",
    "可用属性：\n",
    "\n",
    "coef_:训练后的输入端模型系数，如果label有两个，即y值有两列。那么是一个2D的array\n",
    "\n",
    "intercept_: 截距\n",
    "\n",
    "可用的methods:\n",
    "\n",
    "fit(X,y,sample_weight=None):\n",
    "X: array, 稀疏矩阵 [n_samples,n_features]\n",
    "y: array [n_samples, n_targets]\n",
    "sample_weight: 权重 array [n_samples]\n",
    "在版本0.17后添加了sample_weight\n",
    "\n",
    "get_params(deep=True)： 返回对regressor 的设置值\n",
    "\n",
    "predict(X): 预测 基于 R^2值\n",
    "\n",
    "score： 评估\n",
    "\n",
    "参考https://blog.csdn.net/weixin_39175124/article/details/79465558"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<table align =\"left\";background-color=\"#87CEEB\">\n",
    "<tr>\n",
    "    <td bgcolor=\"#87CEEB\"><font size=2>练习题：请用以下数据（可自行生成尝试，或用其他已有数据集）</font></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td  bgcolor=\"#87CEEB\"><font size=2>1、首先尝试调用sklearn的线性回归函数进行训练；</font></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td bgcolor=\"#87CEEB\"><font size=2>2、用最小二乘法的矩阵求解法训练数据；</font></td>\n",
    "</tr>\n",
    "<tr>    \n",
    "<td  bgcolor=\"#87CEEB\"><font size=2>3、用梯度下降法训练数据；</font></td>\n",
    "</tr>\n",
    "<tr>\n",
    "    <td  bgcolor=\"#87CEEB\"><font size=2>4、比较各方法得出的结果是否一致。</font></td>\n",
    "</tr>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "生成数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "生成的随机值\n",
      "[[0.19151945 0.62210877 0.43772774]\n",
      " [0.78535858 0.77997581 0.27259261]\n",
      " [0.27646426 0.80187218 0.95813935]\n",
      " ...\n",
      " [0.77485433 0.17616405 0.88455879]\n",
      " [0.09306395 0.20218845 0.37240548]\n",
      " [0.17365571 0.34523374 0.56773848]]\n",
      "构建映射关系\n",
      "[ 9.07786127 10.68836829 16.0797263  11.12922286 10.93165403  5.37329728\n",
      " 12.21769522  6.99763629 11.92183168 11.25409795 14.79971809 12.22758633\n",
      " 10.96579249  6.1503401  10.46766117  8.55032711  5.45997705  5.8491499\n",
      " 16.33001627 18.18512486  9.92349225  3.58288103  8.83293151 11.05386043\n",
      "  5.06704001 11.94254694  6.45817975 14.56271085 11.87672677 11.83621297\n",
      "  9.58556266 12.16169141  7.54118908 14.83178201 16.95711344  7.2010966\n",
      "  9.41633216 13.36307267  8.89049525 13.53761433 16.59743526  5.81093283\n",
      "  5.94787817  8.45044079  7.09175585  8.17099288  4.67392227 15.3674629\n",
      " 10.1211939   6.69616873 10.66032044 13.32990072 15.52396023 11.07875215\n",
      " 19.80253898 11.41929488 15.69679186 12.79052379  9.04353678 15.40296188\n",
      " 14.50745991  5.85626504 10.82684019  6.46258723  6.29346456  6.11076124\n",
      " 19.33324427 17.32821695  7.57283027  7.07157768 10.187796   10.37520121\n",
      "  9.43062138  6.39246954 12.64853329  6.98462807  4.11688474 17.10762839\n",
      "  7.29038156 13.22771353  1.77970124  6.3287382   4.0317472  13.53221294\n",
      "  8.69087192 12.42392897 12.53767618 12.76175689 15.22297016 14.04727772\n",
      "  8.616245   12.60111427  8.7117879   3.84238311  9.47956126 14.8911322\n",
      "  8.14947582 18.70157352 11.12496826  8.30604101 11.48859452  7.55171731\n",
      " 14.24582487  7.62440733  2.94020209 12.60147821 16.53867848 12.26784659\n",
      " 12.49106895  1.58145023  7.53335905  8.35312782 16.01726403 17.38603735\n",
      " 13.85058557 12.81793394  9.56437868 11.94597849 13.96680295 11.35959062\n",
      "  8.89138927 12.36872469 13.87370378 11.47866185  7.38026689 13.77889773\n",
      " 10.53600207 12.70714639  5.1755306  14.16049317  5.32740025 16.36744632\n",
      "  9.57330081 13.17309885  7.97682816  7.13848392  9.37914495 17.08256052\n",
      " 16.58370831 10.8824037  17.00447988 15.34435017  8.92724986  8.04052215\n",
      " 11.45471907  8.49035479 16.31266802  4.91238327  8.81632288 10.30858435\n",
      " 17.18737034 12.41114677 12.05441828  7.84046494  9.16965441  6.63911287\n",
      "  4.44900393 14.27054657  5.17796142  9.56177954  8.06092304 14.23704375\n",
      "  6.36305329 10.55577213  7.29760177 15.36326758 13.84545457  7.51398571\n",
      "  6.18737077  7.59150763  7.45082811  3.06725252  3.23619985 17.97518396\n",
      " 13.8966688   7.87774061 13.40866891 11.16866861  8.94365227 14.04349463\n",
      "  5.70710662  2.90495664 11.06033867  6.47183888 15.72944232 14.77858947\n",
      "  3.01379814  7.26133446 11.78560762  4.47540678 14.19877081  6.04490669\n",
      "  6.52596256 15.16183336  8.60607703  8.10894149 10.60469598 12.4340502\n",
      "  8.19641355  7.86683848  9.52428868 10.63471422  5.84999185 11.13362284\n",
      " 12.03807586 14.20642003 13.30701635  9.06287704  7.5927058   6.29503364\n",
      "  6.83748614 14.1550358   3.89050322  6.86309022 11.34180739  7.81690429\n",
      "  8.653588   14.03381404  9.12136578 12.87247636 13.91368471  3.92660031\n",
      " 11.49918386 13.57872661  7.266045   13.23343461  4.51695465 10.88947142\n",
      "  9.6703235  12.30435404  5.79781909  7.51678521  5.11064867  8.74348701\n",
      "  7.52144318 15.42330473 13.08195222 17.69902463  3.95233236 13.22503427\n",
      " 12.1403755  10.2957699  14.69094853 11.76495674  8.82846793 11.47796772\n",
      " 16.90917638  7.20913035 15.59688176 10.61395437 12.19500175  7.26737684\n",
      " 14.38727016  4.90970646 17.38780676 13.8499805  10.01046353 10.44885638\n",
      " 12.28318046 11.43858545  9.31433305  9.13569732 13.15286545 15.67291545\n",
      "  7.059134    8.67174526 11.58980726 12.89134885 12.32677278  4.11751186\n",
      " 16.70218608  6.97725252  8.36580556 16.18702372  8.09229554  6.21669902\n",
      "  3.98406942  1.98196218 14.16913569  8.91632079 10.25114053  7.63008142\n",
      "  8.43121528 13.97176174 12.61543402 11.88917695  6.64408265 14.04694215\n",
      " 15.00204158 15.18389293 15.82521648 12.81690291 13.27980369 12.8437731\n",
      "  6.43473067 14.27035119  5.4526403  16.12822152 14.62087942 13.82040877\n",
      "  8.94835106 11.81700707 11.9986133   9.33416897  9.24511466 16.40475609\n",
      " 13.02131465 14.68450613 15.27679258  6.44360813  5.71296975  9.77059954\n",
      "  3.8105218   3.15587484 14.9119999  19.24217235 14.17740793  5.41669107\n",
      " 13.37314682 14.26892324  7.82425337 11.67318009 14.4771546   4.75718263\n",
      "  9.74268469 10.87269387 16.94751042 13.33386018  9.23221839  6.62370192\n",
      "  2.52853366 14.21920899 10.31141524 14.34137264 16.30216938  6.64873442\n",
      "  5.37188359 12.61177634 10.9604267   1.09988809  7.35931844 16.2175865\n",
      " 13.6684414   8.36041824  5.7772029   8.93803776  1.67842076 15.4932099\n",
      " 15.39896154 12.24330309  9.0038111  14.21214397 10.07681641  8.60155259\n",
      "  8.58035673  6.86130302  9.1453231   6.71812117  8.4273126  15.34094932\n",
      " 10.99750169 13.46709989 12.52967221  4.54192943 13.99820184  6.14951114\n",
      "  5.37476755  7.5241381   8.0100273   7.62400187  2.23269053 10.18443075\n",
      " 10.32586205 12.11134023 11.60334961 10.40338443  4.8377102  11.24398134\n",
      "  1.80999454  6.86553612  8.58169808  8.92831336  5.68473355  6.53590319\n",
      " 10.86454738 10.22698238  6.58416796 11.59687331 14.34580984  6.91268187\n",
      " 16.45453155  3.1938533  11.08694839 10.11585088 11.45350377  5.93132684\n",
      " 10.12523582 12.50005359  8.05235908 11.40820445  7.69528124 10.99800547\n",
      "  7.94707886 14.46864614 11.37516014  9.75999174  8.48222602  6.47793732\n",
      " 15.49080225 19.85328932 10.84161333 11.53964909 15.93937952  8.02325307\n",
      "  7.46809988  8.65408369 11.52905728  7.51484809 15.06917018  5.50553694\n",
      "  5.45241897 16.39477777  8.11388261 14.09355066 12.18547271 10.01100029\n",
      "  8.54996002 14.22018734  9.56864554  8.61050776  5.06333822 15.69041046\n",
      " 14.20310431 14.24074781  7.15211906  5.58081342  9.16546952  6.33297111\n",
      "  8.8284045   9.80980043  7.7805263   9.19089768 16.0185546   2.0615536\n",
      " 10.0797419   0.75048087  8.45990675 11.70503945 11.99904371  7.74981323\n",
      "  5.36557825 14.46811681 10.0957485  15.98480248 17.77061952 12.54082967\n",
      " 14.65196444  7.90290444 12.74817869  6.32518788 13.6284619  11.10327571\n",
      "  8.55884973 10.9534031   6.39979855  3.61559696 14.06951056  8.39888475\n",
      " 12.29549881  8.59204721  5.14732251  5.66267484 14.42632501 11.09256662\n",
      "  3.58985296 13.83743564 12.92581368 15.42819232 11.80182034  6.50789009\n",
      "  5.86769971  5.31620648  6.10747241  8.47060863 10.81127939 13.42070144\n",
      " 16.06476087 12.62894328  5.23980875 13.56023988 14.72669585  9.22601056\n",
      " 13.02814437 16.32149929 10.08875832  3.55205914 13.44140891 13.81175819\n",
      "  5.56532196  8.82876192]\n"
     ]
    }
   ],
   "source": [
    "#生成数据\n",
    "import numpy as np\n",
    "#生成随机数\n",
    "np.random.seed(1234)\n",
    "x = np.random.rand(500,3)\n",
    "print(\"生成的随机值\")\n",
    "print(x)\n",
    "#构建映射关系，模拟真实的数据待预测值,映射关系为y = 4.2 + 5.7*x1 + 10.8*x2，可自行设置值进行尝试\n",
    "y = x.dot(np.array([4.2,5.7,10.8]))\n",
    "print(\"构建映射关系\")\n",
    "print(y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5. 1、先尝试调用sklearn的线性回归模型训练数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "估计的参数值为：[ 4.2  5.7 10.8]\n",
      "R2:1.0\n",
      "预测值为: [85.2]\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from sklearn.linear_model import LinearRegression\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "# 调用模型\n",
    "lr = LinearRegression(fit_intercept=True)\n",
    "# 训练模型\n",
    "lr.fit(x,y)\n",
    "print(\"估计的参数值为：%s\" %(lr.coef_))\n",
    "# 计算R平方\n",
    "print('R2:%s' %(lr.score(x,y)))\n",
    "# 任意设定变量，预测目标值\n",
    "x_test = np.array([2,4,5]).reshape(1,-1)\n",
    "y_hat = lr.predict(x_test)\n",
    "print(\"预测值为: %s\" %(y_hat))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.2、最小二乘法的矩阵求解"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "估计的参数值：[ 4.2  5.7 10.8]\n",
      "预测值为: [85.2]\n"
     ]
    }
   ],
   "source": [
    "class LR_LS():\n",
    "    def __init__(self):\n",
    "        self.w = None      \n",
    "    def fit(self, X, y):\n",
    "        # 最小二乘法矩阵求解\n",
    "        #============================= show me your code =======================\n",
    "        self.w = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)\n",
    "        #============================= show me your code =======================\n",
    "    def predict(self, X):\n",
    "        # 用已经拟合的参数值预测新自变量\n",
    "        #============================= show me your code =======================\n",
    "        y_pred = X.dot(self.w)\n",
    "        #============================= show me your code =======================\n",
    "        return y_pred\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    lr_ls = LR_LS()\n",
    "    lr_ls.fit(x,y)\n",
    "    print(\"估计的参数值：%s\" %(lr_ls.w))\n",
    "    x_test = np.array([2,4,5]).reshape(1,-1)\n",
    "    print(\"预测值为: %s\" %(lr_ls.predict(x_test)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.3、梯度下降法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "估计的参数值为：[ 4.20000001  5.70000003 10.79999997]\n",
      "预测值为：[85.19999995]\n"
     ]
    }
   ],
   "source": [
    "class LR_GD():\n",
    "    def __init__(self):\n",
    "        self.w = None     \n",
    "    def fit(self,X,y,alpha=0.02,loss = 1e-10): # 设定步长为0.002,判断是否收敛的条件为1e-10\n",
    "        y = y.reshape(-1,1) #重塑y值的维度以便矩阵运算\n",
    "        [m,d] = np.shape(X) #自变量的维度\n",
    "        self.w = np.zeros((d)) #将参数的初始值定为0\n",
    "        tol = 1e5\n",
    "        #============================= show me your code =======================\n",
    "        while tol > loss:\n",
    "            h_f = X.dot(self.w).reshape(-1,1) \n",
    "            theta = self.w + alpha*np.mean(X*(y - h_f),axis=0) #计算迭代的参数值\n",
    "            tol = np.sum(np.abs(theta - self.w))\n",
    "            self.w = theta\n",
    "        #============================= show me your code =======================\n",
    "    def predict(self, X):\n",
    "        # 用已经拟合的参数值预测新自变量\n",
    "        y_pred = X.dot(self.w)\n",
    "        return y_pred  \n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    lr_gd = LR_GD()\n",
    "    lr_gd.fit(x,y)\n",
    "    print(\"估计的参数值为：%s\" %(lr_gd.w))\n",
    "    x_test = np.array([2,4,5]).reshape(1,-1)\n",
    "    print(\"预测值为：%s\" %(lr_gd.predict(x_test)))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
